Garbage Collection Scheduling for Utility Accrual Real-Time Systems
نویسنده
چکیده
Utility Accrual (UA) scheduling is a method of dynamic real-time scheduling that is designed to respond to overload conditions by producing a feasible schedule that heuristically maximizes a pre-defined metric of utility. Whereas utility accrual schedulers have traditionally focused on CPU overload, this dissertation explores memory overload conditions during which the aggregate memory demand exceeds a system’s available memory bandwidth. Real-time systems are typically implemented in C or other languages that use explicit dynamic memory management. Taking advantage of modern type-safe languages, such as Java, necessitates the use of garbage collection (GC). The timeliness requirements of realtime systems, however, impose specific demands on the garbage collector. Garbage collection introduces a significant source of unpredictability in the execution timeline of a task because it unexpectedly interjects pauses of arbitrary length, at arbitrary points in time, with an arbitrary frequency. To construct a feasible schedule, a real-time scheduler must have the ability to predict the collector’s activities and plan for them accordingly. We have devised CADUS (Collector-Aware Dynamic Utility Scheduler), a utility accrual algorithm that tightly links CPU scheduling with the memory requirements — and the corresponding garbage collection activities — of real-time tasks. By constructing and storing memory time allocation profiles, we address the
منابع مشابه
Java Garbage Collection Scheduling in Utility Accrual Scheduling Environments
Convenience, reliability, and effectiveness of automatic memory management have long been established in modern systems and programming languages such as Java. The timeliness requirements of real-time systems, however, impose specific demands on the operational parameters of the garbage collector. The memory requirements of real-time tasks must be accommodated with a predictable impact on the t...
متن کاملDynamic Memory Management In A Resource-Constrained Real-Time Utility Accrual Environment
This proposal presents MSA, a uniprocessor, single address space resource scheduling algorithm. MSA addresses the open research problem of explicit dynamic memory management in a resource-constrained real-time utility accrual environment. As an overload scheduler, the algorithm ensures graceful performance degradation as defined by a set of optimality criteria. MSA extends the scope of resource...
متن کاملOptimal Time Utility Based Scheduling Policy Design for Cyber-Physical Systems
Classical scheduling abstractions such as deadlines and priorities do not readily capture the complex timing semantics found in many real-time cyber-physical systems. Time utility functions provide a necessarily richer description of timing semantics, but designing utility-aware scheduling policies using them is an open research problem. In particular, optimal utility accrual scheduling design ...
متن کاملScheduling Garbage Collection in Embedded Systems
The complexity of systems for automatic control and other safety-critical applications grows rapidly. Computer software represents an increasing part of the complexity. As larger systems are developed, we need to find scalable techniques to manage the complexity in order to guarantee high product quality. Memory management is a key quality factor for these systems. Automatic memory management, ...
متن کاملBounding Worst Case Garbage Collection Time for Embedded Real-Time Systems
Execution of programs with various data structures often requires dynamic memory management based on garbage collection for better productivity, robustness, and program integrity. In spite of its benefits, garbage collection has not been widely used in embedded real-time systems partly because it often causes unpredictable pause delay. Guaranteeing real-time operations with garbage collection a...
متن کامل